]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
12 months agodata: Add im-config.desktop to System folder
Simon McVittie [Tue, 10 Jun 2025 10:42:17 +0000 (11:42 +0100)]
data: Add im-config.desktop to System folder

Debian installs this by default, but most users will only need to run
it once, or perhaps not at all.

Thanks: Jeremy Bícha
Helps: #1099579
Forwarded: not-needed, Debian-specific

Gbp-Pq: Topic debian
Gbp-Pq: Name data-Add-im-config.desktop-to-System-folder.patch

12 months agoshell/app: Warn instead of crashing if disposed before startup notification
Daniel van Vugt [Thu, 29 Aug 2024 07:19:14 +0000 (15:19 +0800)]
shell/app: Warn instead of crashing if disposed before startup notification

This is currently easy to reproduce by launching and immediately closing
Chrome, then closing the shell. But automated crash reports show it can
also happen while using the shell, during a garbage collection run.

It's currently the top gnome-shell crasher in Ubuntu, and mostly with
Chromium/Electron apps. But regardless of the offender, we shouldn't
ever trust application behaviour to keep the shell alive.

Bug: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7045
Bug-Ubuntu: https://bugs.launchpad.net/bugs/2037055
Forwarded: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3457

Gbp-Pq: Name shell-app-Warn-instead-of-crashing-if-disposed-before-sta.patch

12 months agoRevert "tests: Fail on warnings too"
Jeremy Bicha [Fri, 17 Feb 2023 20:35:20 +0000 (15:35 -0500)]
Revert "tests: Fail on warnings too"

This reverts commit 207b9bb3c0a582b830218fd1b6e8760684adbc48.

Gbp-Pq: Topic debian
Gbp-Pq: Name Revert-tests-Fail-on-warnings-too.patch

12 months agoRelease to unstable
Simon McVittie [Mon, 13 Oct 2025 14:23:18 +0000 (15:23 +0100)]
Release to unstable

12 months agoBump glib2.0 dependency to 2.86 unconditionally (part of #1115340)
Simon McVittie [Mon, 13 Oct 2025 14:22:51 +0000 (15:22 +0100)]
Bump glib2.0 dependency to 2.86 unconditionally (part of #1115340)

12 months agoRevert "Generate a versioned dependency for the GLib 2.86 transition"
Simon McVittie [Mon, 13 Oct 2025 14:21:43 +0000 (15:21 +0100)]
Revert "Generate a versioned dependency for the GLib 2.86 transition"

This reverts commit 816fa364ba112b48f62f03ffa054cafd9bd14b76.

13 months agoRelease to unstable
Simon McVittie [Thu, 18 Sep 2025 16:32:31 +0000 (17:32 +0100)]
Release to unstable

13 months agoUpdate changelog
Simon McVittie [Thu, 18 Sep 2025 09:48:22 +0000 (10:48 +0100)]
Update changelog

13 months agod/rules: Use a more robust xvfb-run command-line
Simon McVittie [Thu, 18 Sep 2025 09:45:30 +0000 (10:45 +0100)]
d/rules: Use a more robust xvfb-run command-line

Mitigates: #981201

13 months agoGenerate a versioned dependency for the GLib 2.86 transition
Simon McVittie [Thu, 18 Sep 2025 09:38:19 +0000 (10:38 +0100)]
Generate a versioned dependency for the GLib 2.86 transition

GNOME Shell will need to be rebuilt after GLib 2.86 is uploaded to
unstable, so that its typelibs declare a dependency on GioUnix, which
they do not when built against older GLib. Generate a versioned
dependency so that this can be done via either a binNMU or a sourceful
upload.

13 months agoreleasing package gnome-shell version 48.5-1
Jeremy Bícha [Mon, 15 Sep 2025 22:41:22 +0000 (18:41 -0400)]
releasing package gnome-shell version 48.5-1

13 months agoRemove st-theme-node patch: alternative fix applied in new release
Jeremy Bícha [Mon, 15 Sep 2025 22:38:37 +0000 (18:38 -0400)]
Remove st-theme-node patch: alternative fix applied in new release

13 months agoRemove tray-icons patches applied in new release
Jeremy Bícha [Mon, 15 Sep 2025 22:36:17 +0000 (18:36 -0400)]
Remove tray-icons patches applied in new release

13 months agodebian/gnome-shell.gsettings-override: update Yelp to org.gnome.Yelp
Jeremy Bícha [Mon, 15 Sep 2025 22:32:31 +0000 (18:32 -0400)]
debian/gnome-shell.gsettings-override: update Yelp to org.gnome.Yelp

new .desktop filename as of yelp 49

13 months agoNew upstream release
Jeremy Bícha [Mon, 15 Sep 2025 22:31:50 +0000 (18:31 -0400)]
New upstream release

13 months agoUpdate upstream source from tag 'upstream/48.5'
Jeremy Bícha [Mon, 15 Sep 2025 22:31:50 +0000 (18:31 -0400)]
Update upstream source from tag 'upstream/48.5'

Update to upstream version '48.5'
with Debian dir 8bfbb7eaf29dbfa4b522eb2a4ecea0b4419e72e4

13 months agoNew upstream version 48.5
Jeremy Bícha [Mon, 15 Sep 2025 22:31:44 +0000 (18:31 -0400)]
New upstream version 48.5

13 months agoBump version to 48.5
Florian Müllner [Sat, 13 Sep 2025 22:19:51 +0000 (00:19 +0200)]
Bump version to 48.5

Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3882>

13 months agomessageTray: Fix race condition causing stuck notification banners
everyx [Sat, 13 Sep 2025 04:01:17 +0000 (12:01 +0800)]
messageTray: Fix race condition causing stuck notification banners

A race condition can occur where a notification banner gets stuck on screen
and never disappears.

This happens when a new notification needs to be shown while an old one
is in the middle of its hiding animation. The process to show the new
notification calls `remove_all_transitions()`, which forcefully stops
the hiding animation of the old one.

The cleanup logic, which destroys the old banner actor, was located in
the `onComplete` handler of the animation. Since the animation was
interrupted and not completed, this handler was never called, leaving a
"zombie" banner on screen.

To fix this, the call to the cleanup function is moved from the
`onComplete` handler to an `onStopped` handler. This handler is
guaranteed to be called whenever an animation stops, regardless of
whether it finished successfully or was interrupted. This ensures the
banner is always cleaned up correctly.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6006
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3861>
(cherry picked from commit 93a79cf61b2b404357e6f637cc9e7f324fb27a69)

13 months agost/spinner-content: Disconnect timeline callbacks when the spinner is destroyed
Alessandro Astone [Fri, 12 Sep 2025 09:00:18 +0000 (11:00 +0200)]
st/spinner-content: Disconnect timeline callbacks when the spinner is destroyed

The ClutterFrameClock might still have active references on the ClutterTimeline
when the StSpinnerContent is freed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8651
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3872>
(cherry picked from commit e02bd7edf3077c68141c6264e4ce419d51107b2d)

13 months agobuild: Handle data as first subdir
Marco Trevisan (Treviño) [Thu, 11 Sep 2025 11:27:35 +0000 (13:27 +0200)]
build: Handle data as first subdir

We generate resources and files that may be required in next stages, so
lets do it as first thing

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3869>
(cherry picked from commit 89b571e3cbcaa82e79274339dd015cd8c46d6fce)

13 months agosearch: Make overview application search results grid RTL aware
Khalid Abu Shawarib [Mon, 25 Aug 2025 18:08:54 +0000 (21:08 +0300)]
search: Make overview application search results grid RTL aware

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3851>
(cherry picked from commit 92dc36e7fe14c0e8fba8b297d6a9674f16a7d6be)

13 months agosearch: Use a variable for tracking allocated width
Khalid Abu Shawarib [Tue, 2 Sep 2025 22:21:00 +0000 (01:21 +0300)]
search: Use a variable for tracking allocated width

Instead of the x coordinates of the allocation box.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3851>
(cherry picked from commit 1e53578362ab7e0575bfa37788f20deabecf8e7f)

13 months agopopupMenu: Queue relayout on popup menu parent when opening
Jonas Ådahl [Fri, 5 Sep 2025 13:53:52 +0000 (15:53 +0200)]
popupMenu: Queue relayout on popup menu parent when opening

The position of the menu depends on the position of the "source actor",
but the source actor is not a parent of the menu, but typically a
sibling.

Since we depend on the source actor position for placing the popup menu,
it's important that the source actor gets allocated before we allocate.
Currently the only way to ensure that the source actor is allocated
before the popup menu is by handling the layout via the parent actor, as
the order of the allocations done when queuing shallow relayouts is
currently undefined. As of d94638acae ("clutter/actor: Make child
position changes a noop when possible") in mutter,
Clutter.Actor.set_child_above_sibling() has a fast path when the
position doesn't change, which means the parent was did not get its
relayout queued. This caused the popup menu to end up being allocated
before the source actor, thus using an out of date source actor
allocation to base its position calculation on.

To fix this, queue a relayout on the parent actor unconditionally, after
inserting it into the parent actor, to let us be able to rely on the
source actor having been allocated before the popup menu itself getting
allocated.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/4253
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3863>
(cherry picked from commit ca198804598daf595d56600b76b0a0fd088252ee)

13 months agolayout: Give dummy cursor actor a name
Jonas Ådahl [Fri, 5 Sep 2025 13:53:18 +0000 (15:53 +0200)]
layout: Give dummy cursor actor a name

Helps when introspecting the actor tree.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3863>
(cherry picked from commit df3ad638e4b02522bbf273b558982877e67783fc)

13 months agojs: Use DesktopAppInfo from GioUnix
Marco Trevisan (Treviño) [Sun, 31 Aug 2025 00:55:13 +0000 (02:55 +0200)]
js: Use DesktopAppInfo from GioUnix

The type was never part of Gio, but it's an Unix specific type, so use
the platform-specific typelib instead.

This would still work in gjs for 49 but would trigger a warning.

See: https://gitlab.gnome.org/GNOME/glib/-/issues/3744
See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4761
See: https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/1018
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3855>
(cherry picked from commit 3041605120456166544753396137580a23a055d2)

13 months agost/theme-context: Run dispose on theme nodes on theme context changes
Jonas Dreßler [Thu, 24 Jul 2025 16:27:29 +0000 (18:27 +0200)]
st/theme-context: Run dispose on theme nodes on theme context changes

When the theme context changes, we clear the theme cache and make the
widget tree throw away and create new theme nodes. That's because the
old theme nodes can no longer be used, they might be referencing old
CSS data, scale factors, or other things.

St itself should never reuse theme nodes after theme context changes,
but of course theme nodes are exposed to users of St, and they can
always keep a theme node around and call a method on it even after a
theme context change.

To avoid those outdated theme nodes accessing outdated pointers into
the Croco structures and causing crashes, force-run their `dispose()`
function when the theme context changes. This should ensure that all
problematic pointers in the theme nodes are cleared, and users of St
can't crash gnome-shell.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3809>
(cherry picked from commit 41758311d1df0f40ae969b8d57cf3302ad2a5803)

13 months agost/theme-node: Free properties array on dispose rather than finalize
Jonas Dreßler [Thu, 24 Jul 2025 17:47:58 +0000 (19:47 +0200)]
st/theme-node: Free properties array on dispose rather than finalize

We're going to use `g_object_run_dispose()` on StThemeNode with the next
commit in order to manually clear the properties array and a few other
things when the StThemeContext changes.

That's because after theme context changes, the CSS properties will no
longer be valid, and accessing them will cause crashes. Even if St behaves
nicely and throws out all theme nodes on theme context changes, there
might still be users holding references to nodes, so we want to ensure that
the old nodes are harmless after theme context changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3809>
(cherry picked from commit 07d6cf017eedfa02059848b33a5412576ac023c6)

13 months agost/widget: Don't animate theme node updates on theme context changes
Jonas Dreßler [Thu, 24 Jul 2025 16:51:25 +0000 (18:51 +0200)]
st/widget: Don't animate theme node updates on theme context changes

With commit 4dfa39457e, I was assuming that emitting `::changed` on the
StThemeContext, triggering StWidgets recursive style-changed machinery,
is enough to get rid of all the theme nodes that are in use, ensuring
they're never accessed again after the `::changed` emission.

That assumption turned out to be wrong: `st_widget_recompute_style()`
animates updates of theme nodes using StThemeNodeTransition, and
StThemeNodeTransition keeps the old theme node around, accessing it at
various later points. This caused various crashes on extension
loading/unloading, because that triggers a theme context change, where
a StThemeNodeTransition would later access an outdated theme node,
pointing to CSS properties that are already freed.

That said, reverting 4dfa39457e doesn't seem like the best idea,
because other calls to `st_theme_context_changed()` also seem to make
the same (incorrect) assumption, eg. `st_theme_context_set_theme()`
seems like a good candidate for a similar crash.

Probably St just shouldn't try to animate on theme context changes: The
old theme nodes are no longer usable after those, but
StThemeNodeTransition expects them to be, so that's just a bad idea.

So change the style-changed machinery a bit to allow disabling transitions
and use that to avoid transitions on theme context changes.

Fixes: 4dfa39457e ("st/theme-context: Also remove theme nodes on stylesheet changes")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7339
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3809>
(cherry picked from commit 9ed77ef13e809da12567a5d6725ac2525581f28b)

13 months agost/theme-node: Remove unused field
Daniel van Vugt [Thu, 17 Apr 2025 09:38:21 +0000 (17:38 +0800)]
st/theme-node: Remove unused field

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3809>
(cherry picked from commit 18c4023533bc2eb44e71766bd568254292db1060)

13 months agogdm/authPrompt: Preserve the text when switching entry visibility
Marco Trevisan (Treviño) [Mon, 25 Aug 2025 12:35:57 +0000 (14:35 +0200)]
gdm/authPrompt: Preserve the text when switching entry visibility

The text visibility of an auth prompt entry may change dynamically at
runtime, in particular when unlocking the screen with the blank screen
or with the screen shield visible this is happening:
 - The user starts typing the PAM credential (may be secret or not)
 - Under the hood the PAM conversation starts and actually asks user
   for input
 - The entry text is not cleared because we use what the user has typed
   so far as the preemptive secret.
 - The entry is adjusted to follow the requested PAM text visibility
   settings.
   -> This may lead to switching the actual text entry widget in use

Now, if the first entry that PAM requires is "ECHO ON", like it may
happen in the case in which a visible value is requested, we end up
"clearing" what the user as typed instead of preserving the value as
pre-filled value.

Causing the user typing something wrong instead.

To prevent this we need to restore both the text, the cursor position
and the selection bounds (in case the use pressed some key [binding])
leading to a position or selection change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3850>
(cherry picked from commit 8237970566c6368a54e97db61c28f08cf65a1f90)

13 months agogdm/authPrompt: Factorize the entry update code
Marco Trevisan (Treviño) [Tue, 26 Aug 2025 14:40:07 +0000 (16:40 +0200)]
gdm/authPrompt: Factorize the entry update code

Cleanup the code a bit to make future updates smaller

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3850>
(cherry picked from commit e3f8f8d727c10c669b32335754a43b45219ec6c7)

13 months agogdm/authPrompt: Clear the inactive entry too
Marco Trevisan (Treviño) [Mon, 25 Aug 2025 12:29:55 +0000 (14:29 +0200)]
gdm/authPrompt: Clear the inactive entry too

In multi-factor authentication cases we may end up clearing the current
entry, but we are potentially leaving a previously filled inactive entry
as it is.

Avoid this, and clear all the entries we have when clearing the prompt.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3850>
(cherry picked from commit b260314a3986b9936ccfb33945def926604acc8a)

13 months agogdm/authPrompt: Unset the entry reference on destruction
Marco Trevisan (Treviño) [Mon, 25 Aug 2025 12:25:49 +0000 (14:25 +0200)]
gdm/authPrompt: Unset the entry reference on destruction

We use the internal entry as the reference to the text entry that is
currently in use, but during destruction we do not unset it, thus the
garbage collector may requires further cycles to actually release it.

Simplify its job here, improves 572d011894c9b490b8a17ad7db6adec335fbb017

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3850>
(cherry picked from commit 7c2dda6765432acb2f6eaccab74789d01f30af05)

13 months agost/private: Fix texture leak when creating shadow from actor
Sebastian Keller [Thu, 21 Aug 2025 17:45:21 +0000 (19:45 +0200)]
st/private: Fix texture leak when creating shadow from actor

cogl_pipeline_set_layer_texture() adds its own ref to the texture in
_cogl_pipeline_set_layer_texture_data() when called via
_st_create_shadow_pipeline(), so the initial reference is leaked when
the pointer is stolen.

Fix this by not stealing the pointer, so autoptr can unref the texture.
Before the code was changed to autoptr in 71accdd97 the texture was also
manually unrefed after calling _st_create_shadow_pipeline().

Fixes: 71accdd97 ("st: Adapt to CoglObject removal")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8509
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3854>
(cherry picked from commit 6f9483c434c08e5dbaeec919cddbcb050ab4d2da)

13 months agost/focus-manager: Check for NULL instead of stage to exit loop
Jonas Dreßler [Fri, 1 Mar 2024 17:39:18 +0000 (18:39 +0100)]
st/focus-manager: Check for NULL instead of stage to exit loop

In st_focus_manager_stage_event() we get the current key-focus actor from
the stage, and then enter a loop where we iterate through parents until we
get to the stage. If the key-focus actor is not a descendent of the stage
for some reason, this loop will never exit and we've locked up.

We can easily prevent the endless loop by checking for NULL as the exit
condition instead of checking for the stage, so do that instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3220>
(cherry picked from commit 0df2168b18383452b48d09e0abc7b95be6540d7e)

13 months agotimeLimitsManager: Fix a typo in a code comment
Philip Withnall [Thu, 28 Aug 2025 11:52:58 +0000 (12:52 +0100)]
timeLimitsManager: Fix a typo in a code comment

A ‘leap day’ is February 29th, and is not the same as a daylight savings
time transition day (when the clock goes forwards or backwards by an
hour).

Fix a thinko/typo in my code comment.

Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3853>
(cherry picked from commit 856a0ffe2848bb82c86862764275c24c4ac6ddc4)

13 months agotray/na-tray-manager: Remove outdated comment and return value
Marco Trevisan (Treviño) [Wed, 1 May 2024 18:54:46 +0000 (20:54 +0200)]
tray/na-tray-manager: Remove outdated comment and return value

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit faf0ad4658ae87dad6328b17b232755786111de6)

13 months agotray/na-xembed: Destroy socket window when ending the embedding
Marco Trevisan (Treviño) [Wed, 1 May 2024 03:56:48 +0000 (05:56 +0200)]
tray/na-xembed: Destroy socket window when ending the embedding

Currently when embedding a tray icon is ended we are leaving the X11
socket window around as we don't really destroy it, while we're just
listening for its child destruction.

So, when embedding is ending we need to make sure that:
 - If the plug window is still alive, move it back to its old parent
   (normally that's the root window, but we query for it, to be sure)
 - If the plug window has been already destroyed or reparented (by us or
   by something else), we've to just destroy the socket window

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7614
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit cd39f7ab4725588d237e7b79763384c0e92f41ff)

13 months agotray/na-xembed: Use proper indentation style header
Marco Trevisan (Treviño) [Wed, 1 May 2024 03:54:31 +0000 (05:54 +0200)]
tray/na-xembed: Use proper indentation style header

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit 0fea7d979a16a2cb1274502df9f7e406bb66a68c)

13 months agotray: Zero-initialize the event structures on initialization
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:22:29 +0000 (04:22 +0200)]
tray: Zero-initialize the event structures on initialization

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit f47686faa6140f8ad7e8ca8491afe4b01eb2edcf)

13 months agoshell-tray-icon: Trigger a relayout when the underneath xembeded size changes
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:20:42 +0000 (04:20 +0200)]
shell-tray-icon: Trigger a relayout when the underneath xembeded size changes

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit 50061c08da946d23a074a557ae603ac72dfc570d)

13 months agoshell-tray: Ensure that only a child can be added
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:19:34 +0000 (04:19 +0200)]
shell-tray: Ensure that only a child can be added

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit 65fd43703b385aa9cdb3d8cb4e2d5e879613ea92)

13 months agoshell-tray-icon: Use available space when that's defined
Marco Trevisan (Treviño) [Wed, 1 May 2024 02:18:50 +0000 (04:18 +0200)]
shell-tray-icon: Use available space when that's defined

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7613
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit 9d3546c271c4487ee467dd120db027b0e350cbf3)

13 months agotray/na-xembed: Use XShape to remove input on socket window
Marco Trevisan (Treviño) [Wed, 1 May 2024 20:34:58 +0000 (22:34 +0200)]
tray/na-xembed: Use XShape to remove input on socket window

We don't want this window to take any input as, a part from blocking the
events on the shell representation itself, they may potentially make the
plugged window to do anything with the event is processing (such as
showing tooltips). And we don't want this since we only want to send to
those windows only the synthetic events that we explicitly control.

This was already the case before of commit ab60902058 but a similar
approach was not replicated, leading to input events being fully
processed from tray icons plugs.

It requires adding an explicit build dependency on Xext, but this is
something that mutter already depends on so not really a new dependency

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7613
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit 2e97a453290983a3f634153b86a560660896421b)

13 months agobuild: Add explicit dependency on Xfixes
Marco Trevisan (Treviño) [Wed, 1 May 2024 20:33:43 +0000 (22:33 +0200)]
build: Add explicit dependency on Xfixes

We use the xfixes extensions in tray icons but we rely on the dependency
brought to us from other libraries as mutter but let's make it explicit

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3818>
(cherry picked from commit b45e02621a0e1888131010eb764dcbe57a6846d3)

13 months agounlockDialog: Do not reset the auth prompt on every tap
Marco Trevisan (Treviño) [Mon, 25 Aug 2025 23:11:18 +0000 (01:11 +0200)]
unlockDialog: Do not reset the auth prompt on every tap

Currently we have a tap event tracker that causes that every time a tap
happens in the lock screen, we reset the auth prompt and this can be
particularly annoying at least in three cases:
 1. Just clicking everywhere in the screen may lead the unlock entry
    content to be cleared
 2. Clicking in the screen while an authentication is in progress,
    cancels it
 3. This may break a multi-factor authentication method, as a single
    click may lead previous steps to be cancelled

So, while resetting the auth prompt is important when we're about to
show it, it's not something we want to do while an authentication has
started.

As per this also do not touch the auth prompt sensitivity unless we're
in an idle phase, or we may end up overriding the auth prompt state,
leading for example to a text entry being editable while we're verifying
the secret

Fixes: 37e55df29865dac13656116efdd7abec8056dea9
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3852>
(cherry picked from commit 962d1bf12f55bfadfc41eddd6eefb7597b9edde3)

13 months agoibusCandidatePopup: Fix scaling set-cursor-location-relative signal handling
Takao Fujiwara [Wed, 27 Aug 2025 09:00:30 +0000 (18:00 +0900)]
ibusCandidatePopup: Fix scaling set-cursor-location-relative signal handling

Need to convert the raw coordinates to the scaled ones in gnome-shell.
IBus GtkIMModule can calculate the relative coordinates and gnome-shell
needs to provide the actual scale.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8424
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3729>
(cherry picked from commit 2b2456e87d02b36fa85cdf434011f44143688215)

13 months agobuild: Include GioUnix-2.0 when scanning the libshell headers
Marco Trevisan (Treviño) [Wed, 20 Aug 2025 11:23:33 +0000 (13:23 +0200)]
build: Include GioUnix-2.0 when scanning the libshell headers

libshell exposes in the headers types that are part of GioUnix
(DesktopAppInfo), so we should make it an explicit dependency of the
introspection parser, or we may not be able to parse these types.

Related to: https://gitlab.gnome.org/GNOME/glib/-/issues/3744

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3846>
(cherry picked from commit 28ef3777d215307330688f44c40032fc3d3226d6)

13 months agoextensionSystem: Fix extension enabling/disabling order
Kyrill Zorin [Mon, 11 Aug 2025 22:42:36 +0000 (23:42 +0100)]
extensionSystem: Fix extension enabling/disabling order

Move disabling of unneeded extensions before enabling new ones
in _onEnabledExtensionsChanged(). Previously, conflicting
extensions could simultaneously be active briefly, leading to
unclean states, memory leaks, freezes, or crashes.

The old logic also caused unnecessary disable/enable cycles
for newly requested extensions, wasting resources. Running
the disable step first prevents these issues.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3835>
(cherry picked from commit d3390d1afecbc7829b1618b99995f48eddb90f4a)

13 months agostatus/network: Fix quicksettings enterprise connections
Mitchell Augustin [Mon, 11 Aug 2025 19:21:40 +0000 (14:21 -0500)]
status/network: Fix quicksettings enterprise connections

In d6779f34dac6c80e178a308314fe59884a65f383, the switch
to shell_app_activate_action() was made without
also wrapping the action parameter in an av variant.
This patch adjusts network.js to use the correct av
variant type when attempting to connect to an
enterprise AP from the quicksettings panel.

Fixes d6779f34dac6c80e178a308314fe59884a65f383
Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8590

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3834>
(cherry picked from commit ff7f7887c025c0d68f51e679fe9f58299db4c1b0)

13 months agonetwork: Clear connectivity queue after portal login
Michael Catanzaro [Mon, 28 Jul 2025 11:38:51 +0000 (13:38 +0200)]
network: Clear connectivity queue after portal login

When full connectivity (or rather, non-portal connectivity) is achieved,
we can clear all active portal helpers.

Normally, the portal helper will signal that it is done, but it is
implemented in a racy manner. So here let's do a comprehensive big
hammer solution to guarantee the portal helper definitely gets
eventually closed even if we miss the race window in the portal helper.
(The race is: the portal helper checks connectivity status either
immediately or within a certain amount of time after a navigation policy
decision. This could theoretically be too soon, and if missed, it won't
be rescheduled.)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>
(cherry picked from commit b8b690eb88db034b606e51cff64741557a72fc86)

13 months agoportalHelper: Add extra check for policy decision type
Michael Catanzaro [Sun, 27 Jul 2025 15:35:58 +0000 (17:35 +0200)]
portalHelper: Add extra check for policy decision type

This check will always be true currently, because there are only three
possible types of policy decisions, and both of the others are already
handled above. But if new policy decision types are ever added in the
future, then we probably don't want to execute this code.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>
(cherry picked from commit c9a93ec66ee722d58aeb3727eb7d606b3704b79b)

13 months agoportalHelper: Reduce the connectivity check rate limit
Michael Catanzaro [Sun, 27 Jul 2025 14:44:02 +0000 (16:44 +0200)]
portalHelper: Reduce the connectivity check rate limit

30 seconds is much too long for GNOME Shell to notice that full
connectivity has been achieved. The portal helper is expected to be
closed once connectivity is achieved.

Note this does NOT mean we unconditionally spam the connectivity check
server every 5 seconds. A connectivity check is still only scheduled
when an actual navigation occurs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>
(cherry picked from commit 1c80a4f213faef5170c3af6720d1e6d623fc45ad)

13 months agoportalHelper: Schedule recheck if it's too soon to recheck
Michael Catanzaro [Sun, 27 Jul 2025 14:40:51 +0000 (16:40 +0200)]
portalHelper: Schedule recheck if it's too soon to recheck

Currently we have a 30 second limit on rechecks. A recheck that would
violate the limit is simply dropped. This causes the portal helper to
never close itself.

Instead, schedule a future recheck for as soon as the timeout expires.
This will put an upper bound on how long the portal helper will
unnecessarily remain open.

(I've also changed the logic to unconditionally emit CANCELLED in
vfunc_close_request(), since this seems more correct. This won't
actually affect anything, because gnome-shell just ignores the
CANCELLED status, but in theory it's nice to end things with an
indication that we are finished. Otherwise, CANCELLED will never be
emitted.)

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7790

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>
(cherry picked from commit f9c41ea665dc0dd175ba5933c867c4551c4acf95)

13 months agoportalHelper: Rename Done signal to StatusChanged
Michael Catanzaro [Sun, 27 Jul 2025 12:07:27 +0000 (14:07 +0200)]
portalHelper: Rename Done signal to StatusChanged

The name Done is incorrect because the result type may be RECHECK. In
this case, we are not done.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3813>
(cherry picked from commit 387911c5154fcd86b98c103ddaa365e1aa563e48)

14 months agoUpdate Finnish translation
Jiri Grönroos [Sun, 24 Aug 2025 12:29:40 +0000 (12:29 +0000)]
Update Finnish translation

14 months agoUpdate Thai translation
Aefgh Threenine [Sun, 24 Aug 2025 04:44:14 +0000 (04:44 +0000)]
Update Thai translation

14 months agost/entry: Avoid crash in update_*_relation
Johannes Maibaum [Mon, 18 Aug 2025 20:26:10 +0000 (22:26 +0200)]
st/entry: Avoid crash in update_*_relation

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3839>
(cherry picked from commit 093a2d0c27b6da6db10946dfcf36c00bd4e94a88)

14 months agoUpdate German translation
Philipp Kiemle [Fri, 15 Aug 2025 06:03:01 +0000 (06:03 +0000)]
Update German translation

15 months agod/control: This is not the debian/trixie branch any more
Simon McVittie [Fri, 8 Aug 2025 14:11:38 +0000 (15:11 +0100)]
d/control: This is not the debian/trixie branch any more

Gbp-Dch: ignore

15 months agoRelease to unstable
Simon McVittie [Fri, 8 Aug 2025 08:19:45 +0000 (09:19 +0100)]
Release to unstable

15 months agoUpdate changelog
Simon McVittie [Fri, 8 Aug 2025 08:19:20 +0000 (09:19 +0100)]
Update changelog

15 months agod/control: Bump gjs version to 1.81.2 as per meson.build
Simon McVittie [Fri, 8 Aug 2025 08:05:02 +0000 (09:05 +0100)]
d/control: Bump gjs version to 1.81.2 as per meson.build

No practical effect, 1.82.x is already in trixie.

15 months agoNew upstream release
Simon McVittie [Fri, 8 Aug 2025 08:02:07 +0000 (09:02 +0100)]
New upstream release

15 months agoUpdate upstream source from tag 'upstream/48.4'
Simon McVittie [Fri, 8 Aug 2025 08:02:07 +0000 (09:02 +0100)]
Update upstream source from tag 'upstream/48.4'

Update to upstream version '48.4'
with Debian dir 1f0f03d4c8862790acd7a40e11f5ee781affee87

15 months agoNew upstream version 48.4
Simon McVittie [Fri, 8 Aug 2025 08:02:01 +0000 (09:02 +0100)]
New upstream version 48.4

15 months agod/gbp.conf: Use debian/forky branch
Simon McVittie [Fri, 8 Aug 2025 08:01:52 +0000 (09:01 +0100)]
d/gbp.conf: Use debian/forky branch

We'll stick to 48.x in testing/unstable for now, to get better testing
for 48.x updates in trixie later.

15 months agoUpdate Chinese (Taiwan) translation
Cheng-Chia Tseng [Wed, 6 Aug 2025 02:49:45 +0000 (02:49 +0000)]
Update Chinese (Taiwan) translation

15 months agoBump version to 48.4
Florian Müllner [Sun, 3 Aug 2025 10:48:09 +0000 (12:48 +0200)]
Bump version to 48.4

Update NEWS.

15 months agodbusServices/extensions: Remove ineffective CSS
Florian Müllner [Thu, 22 May 2025 02:27:15 +0000 (04:27 +0200)]
dbusServices/extensions: Remove ineffective CSS

The selector should be `preferencespage.error-page` to actually
match.

Nobody has been missing the missing style, so just remove it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>
(cherry picked from commit 86885d6327b5a62a5716c85510cd2a942f3a2909)

15 months agodbusServices/extensions: Use static class blocks for gtype registration
Florian Müllner [Thu, 22 May 2025 01:22:49 +0000 (03:22 +0200)]
dbusServices/extensions: Use static class blocks for gtype registration

Static class blocks are a more readable alternative to _classInit(),
provided we make sure to call registerClass() first.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>
(cherry picked from commit 9e0d159e3f871d623fbe2a08d01c7905540725b7)

15 months agodbusServices/extensions: Use regular constructors
Florian Müllner [Thu, 22 May 2025 01:27:51 +0000 (03:27 +0200)]
dbusServices/extensions: Use regular constructors

Regular constructors have worked for GObject subclasses for a couple
of years now. While there is no functional difference to _init(),
it's simply nicer to use the same syntax for all classes, so quickly
change that before doing further changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3750>
(cherry picked from commit cbdeb8076e485f71de6113537be80f26ee76151f)

15 months agosmartcardManager: Properly disconnect signal connections from tokens
Jonas Dreßler [Thu, 24 Jul 2025 23:30:29 +0000 (01:30 +0200)]
smartcardManager: Properly disconnect signal connections from tokens

The `token.disconnectAll()` call here is not going to work: The method is
provided by gjs as convenience for native JS objects (added to an object
using `Signals.addSignalMethods()`). The token here meanwhile is a GObject,
which doesn't have a `disconnectAll()` method.

To make it (hopefully) work as intended, use the convenience functions
that we actually do add to GObjects, that is `connectObject()` and
`disconnectObject()`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>
(cherry picked from commit b3e5a524d382c227c2a75838791f315812c07265)

15 months agostatus/thunderbolt: Connect to signals using connectObject
Jonas Dreßler [Thu, 24 Jul 2025 23:08:01 +0000 (01:08 +0200)]
status/thunderbolt: Connect to signals using connectObject

To ensure that we disconnect from those signals when the Indicator goes
away, use the `connectObject()` convenience function.

This also allows removing the call to `disconnectAll()` in the AuthRobot
`close()` method.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>
(cherry picked from commit 47965887d98c761ab89ce3f7a5ca937a35f61294)

15 months agostatus/thunderbolt: Actually connect onDestroy callback
Jonas Dreßler [Thu, 24 Jul 2025 23:13:03 +0000 (01:13 +0200)]
status/thunderbolt: Actually connect onDestroy callback

Seems this was forgotten in the initial commit adding the new indicator.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3796>
(cherry picked from commit 963fda971fc397dec4d399d1a43f36cde30f84c0)

15 months agobarLevel: Remove redundant cairo fill calls
Khalid Abu Shawarib [Wed, 30 Jul 2025 16:30:52 +0000 (19:30 +0300)]
barLevel: Remove redundant cairo fill calls

Drop the redundant fillPreserve() calls where there already is a fill().
This is also caused by 6fd0aac86.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3817>
(cherry picked from commit 4d53fbf5bbf84fee0a5a6d0b8baf098559eaccc9)

15 months agoslider: Don't preserve paths after filling
Sebastian Keller [Wed, 30 Jul 2025 13:24:29 +0000 (15:24 +0200)]
slider: Don't preserve paths after filling

Prior to 6fd0aac86 the paths were preserved when filling to allow
stroking the path afterwards. The stroke() then would have cleared the
path. Then when the stroking was dropped in that commit, a second fill()
call, this time without preserving the path was added, but missed from
the end arc of the bar level. This then would leak the path to the
slider handle.

Fix this by always using fill() instead of fillPreserve().

Fixes: 6fd0aac86 ("slider: Remove border drawing code add hover style")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3817>
(cherry picked from commit 95b407b57f6334cc1895d838c0b5fb7c42ff9c16)

15 months agoRequire gjs >= 1.81.2 for build because Intl.Segmenter is needed
Mike FABIAN [Wed, 30 Jul 2025 09:53:47 +0000 (11:53 +0200)]
Require gjs >= 1.81.2 for build because Intl.Segmenter is needed

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3816>
(cherry picked from commit 7c92bf85e675267c4f9d07aaad06e29d1d88ee1a)

15 months agomagnifier: Scale the sprite to match the current monitor scaling
Marco Trevisan (Treviño) [Wed, 27 Mar 2019 15:14:39 +0000 (16:14 +0100)]
magnifier: Scale the sprite to match the current monitor scaling

Compute the sprite texture scale (unfortunately using a workaround, based on
mutter cursor size preferences, tying to figure out the closest texture integer
scaling), and use this value to compute the scaling that should be applied to
the sprite in order to match the current monitor scaling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/475>
(cherry picked from commit 484928e80acb4b6d161dcdd50d48e7731b4f9bee)

15 months agoscreenshot: Fix taking interactive screenshots via D-Bus
Florian Müllner [Sat, 19 Jul 2025 12:12:46 +0000 (14:12 +0200)]
screenshot: Fix taking interactive screenshots via D-Bus

The D-Bus method relies on the `screenshot-taken` and `closed` signals
to differentiate successful operations from canceled/failed ones.

However as the `screenshot-taken` signal is emitted asynchronously,
it may end up being emitted after the `closed` signal even in case
of success. Await the result to ensure correct ordering.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8499
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3803>
(cherry picked from commit 4272916830120c0ff858e9b9de5d242a04932632)

15 months agologinDialog: Store items in map
Florian Müllner [Tue, 8 Jul 2025 19:26:27 +0000 (21:26 +0200)]
loginDialog: Store items in map

Using the dedicated standard type is a bit cleaner and more optimized
than using "raw" objects as hashes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3799>
(cherry picked from commit 765c4b622b9168057304a2cc491c5ba6a41f7439)

15 months agoutil: Don't consider consecutive dots as URLs
Sebastian Keller [Tue, 15 Jul 2025 08:08:45 +0000 (10:08 +0200)]
util: Don't consider consecutive dots as URLs

This now requires at least one character separating each dot for it to
be considered a URL. It also does not allow URLs starting with a dot
anymore.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8517
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3798>
(cherry picked from commit 5af26a21810cdc26965137d5c30864ad782db5b6)

15 months agonetwork: Make sortByName to properly handle null values
Marco Trevisan (Treviño) [Wed, 9 Jul 2025 03:56:27 +0000 (05:56 +0200)]
network: Make sortByName to properly handle null values

g_utf8_collate is not nullable, but is used in a relevant piece of code,
so better not to throw any error if a null value is compared

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3785>
(cherry picked from commit 674cfd49f297dd438e5fcefc8ad2dbedeeda2af0)

15 months agonetwork: Do not consider networks without ID as available
Marco Trevisan (Treviño) [Mon, 30 Jun 2025 18:31:13 +0000 (20:31 +0200)]
network: Do not consider networks without ID as available

In some rare (and weird) cases network manager may provide us
connections without settings (since connection.get_settings() is
actually nullable, and this may lead to have a NULL connection ID, that
eventually breaks the network menu completely:

  (gnome-shell:1579214): GNOME Shell-CRITICAL **: 20:27:14.874: Error:
    Argument str2 may not be null

  Stack trace:
    _sortByName@resource:///org/gnome/shell/ui/status/network.js:119:21
    lowerBound@resource:///org/gnome/shell/misc/util.js:253:13
    insertSorted@resource:///org/gnome/shell/misc/util.js:279:25
    _upsert@resource:///org/gnome/shell/ui/status/network.js:128:21
    upsert@resource:///org/gnome/shell/ui/status/network.js:147:21
    _addConnection@resource:///org/gnome/shell/ui/status/network.js:578:38
    _syncConnections@resource:///org/gnome/shell/ui/status/network.js:511:18
    NMDeviceItem@resource:///org/gnome/shell/ui/status/network.js:469:14
    NMWiredDeviceItem@resource:///org/gnome/shell/ui/status/network.js:611:1
    _createDeviceMenuItem@resource:///org/gnome/shell/ui/status/network.js:1909:16
    _ensureDeviceItem@resource:///org/gnome/shell/ui/status/network.js:1744:27
    _syncDeviceItem@resource:///org/gnome/shell/ui/status/network.js:1717:18
    _addDevice@resource:///org/gnome/shell/ui/status/network.js:1767:14
    _loadInitialItems@resource:///org/gnome/shell/ui/status/network.js:1680:18
    setClient@resource:///org/gnome/shell/ui/status/network.js:1420:18
    setClient@resource:///org/gnome/shell/ui/status/network.js:1651:15
    _getClient/<@resource:///org/gnome/shell/ui/status/network.js:2126:30
    _getClient@resource:///org/gnome/shell/ui/status/network.js:2125:33
    async*_init@resource:///org/gnome/shell/ui/status/network.js:2119:14
    SystemIndicator@resource:///org/gnome/shell/ui/quickSettings.js:847:1
    Indicator@resource:///org/gnome/shell/ui/status/network.js:2073:1
    _setupIndicators@resource:///org/gnome/shell/ui/panel.js:523:29
    async*QuickSettings@resource:///org/gnome/shell/ui/panel.js:514:14
    _ensureIndicator@resource:///org/gnome/shell/ui/panel.js:903:25
    _updateBox@resource:///org/gnome/shell/ui/panel.js:914:34
    _updatePanel@resource:///org/gnome/shell/ui/panel.js:868:14
    _init@resource:///org/gnome/shell/ui/panel.js:692:14
    Panel@resource:///org/gnome/shell/ui/panel.js:648:1
    _initializeUI@resource:///org/gnome/shell/ui/main.js:246:13
    start@resource:///org/gnome/shell/ui/main.js:180:11
    @resource:///org/gnome/shell/ui/init.js:12:47
    @resource:///org/gnome/shell/ui/init.js:21:20

Now, despite that specific connection here has valid settings when
loaded from dbus, it may still happen that NM lib fails at other level in
fetching its settings.

That said, we should not fail if a connection has no settings, and
just skip it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3785>
(cherry picked from commit 0e35a3cbdd52f883dff89d0bdce8b909f1f7d7cc)

15 months agoRelease to unstable
Simon McVittie [Sun, 13 Jul 2025 11:25:18 +0000 (12:25 +0100)]
Release to unstable

15 months agod/control: Update Homepage field
Simon McVittie [Sun, 13 Jul 2025 11:23:50 +0000 (12:23 +0100)]
d/control: Update Homepage field

Closes: #1100764
15 months agoUpdate changelog
Simon McVittie [Sun, 13 Jul 2025 11:07:20 +0000 (12:07 +0100)]
Update changelog

15 months agoRelease to unstable
Simon McVittie [Sun, 13 Jul 2025 10:39:02 +0000 (11:39 +0100)]
Release to unstable

15 months agoRe-export patch series (no functional changes)
Simon McVittie [Sun, 13 Jul 2025 10:37:13 +0000 (11:37 +0100)]
Re-export patch series (no functional changes)

15 months agoDescribe changes in the new upstream release in more detail
Simon McVittie [Sun, 13 Jul 2025 10:36:28 +0000 (11:36 +0100)]
Describe changes in the new upstream release in more detail

Hopefully the release team will find this useful.

15 months agoNew upstream release
Simon McVittie [Sun, 13 Jul 2025 09:48:32 +0000 (10:48 +0100)]
New upstream release

15 months agoUpdate upstream source from tag 'upstream/48.3'
Simon McVittie [Sun, 13 Jul 2025 09:48:32 +0000 (10:48 +0100)]
Update upstream source from tag 'upstream/48.3'

Update to upstream version '48.3'
with Debian dir 0f4ec94b8474404ba03cf7be96d963515aa07a76

15 months agoNew upstream version 48.3
Simon McVittie [Sun, 13 Jul 2025 09:48:26 +0000 (10:48 +0100)]
New upstream version 48.3

15 months agod/control, d/gbp.conf, d/watch: Use debian/trixie and upstream/48.x branches
Simon McVittie [Sat, 12 Jul 2025 20:53:40 +0000 (21:53 +0100)]
d/control, d/gbp.conf, d/watch: Use debian/trixie and upstream/48.x branches

16 months agoUpdate Thai translation
Aefgh Threenine [Thu, 3 Jul 2025 11:57:47 +0000 (11:57 +0000)]
Update Thai translation

16 months agoUpdate Thai translation
Aefgh Threenine [Thu, 3 Jul 2025 10:58:46 +0000 (10:58 +0000)]
Update Thai translation

16 months agoBump version to 48.3
Florian Müllner [Sun, 29 Jun 2025 10:35:41 +0000 (12:35 +0200)]
Bump version to 48.3

Update NEWS.

16 months agocleanup: Remove unused eslint-disable directives
Florian Müllner [Wed, 18 Jun 2025 22:37:57 +0000 (00:37 +0200)]
cleanup: Remove unused eslint-disable directives

The 'camelcase' rule only applies to variables and properties,
not to function names or getter/setters.

The 'no-await-in-loop' rule only applies if there is a loop.

The 'require-atomic-updates' rule no longer applies to
properties by default.

The 'no-constant-condition' rule no longer applies to
`while(true)` by default.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3756>
(cherry picked from commit c70ba22bca57fb64a6e665da4b875288dc7a9706)

16 months agost/entry: Forward label-actor to internal ClutterText
Florian Müllner [Thu, 26 Jun 2025 10:07:07 +0000 (12:07 +0200)]
st/entry: Forward label-actor to internal ClutterText

The StWidget:label-actor property is a convenient way of setting up an
actor's labelled-by relationship. However on StEntry, it is currently
fairly useless because if the entry is focused, the actual keyboard
focus will be on the internal ClutterText rather than the entry itself,
and orca ignores ancestors in most cases.

Address this by tracking the entry's label-actor property, and replicate
the labelled-by relationship on the internal ClutterText actor.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3179>
(cherry picked from commit 38a28b9bd4abbdcd096af3685be01eb937923fce)